package com.three.dao;

import com.three.domain.Attendance;
import com.three.domain.Businesstrips;
import com.three.domain.Dailylogs;
import com.three.domain.Leaves;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DailyLogsDao {
//总端
    //PageCountDailyLogs
    public int PageCountDailyLogs(@Param("keyword") String keyword, @Param("date") String date);
    //PageCountBusinesstrips
    public int PageCountBusinesstrips(@Param("keyword") String keyword,@Param("date") String date);
    //PageCountLeaves
    public int PageCountLeaves(@Param("keyword") String keyword, @Param("date") String date);
    //PageCountAttendance
    public int PageCountAttendance(@Param("keyword") String keyword,@Param("date") String date);
    //日志列表
    public List<Dailylogs> dailyLogsList(
            @Param("keyword") String keyword,
            @Param("pageIndex")Integer pageIndex,
            @Param("pageSize")Integer pageSize,
            @Param("date") String date
    );
    //出差列表
    public List<Businesstrips> businesstripsList(
            @Param("keyword") String keyword,
            @Param("pageIndex")Integer pageIndex,
            @Param("pageSize")Integer pageSize,
            @Param("date") String date
    );
    //请假列表
    public List<Leaves> leavesList(
            @Param("keyword") String keyword,
            @Param("pageIndex")Integer pageIndex,
            @Param("pageSize")Integer pageSize,
            @Param("date") String date
    );
    //考勤列表
    public List<Attendance> attendanceList(
            @Param("keyword") String keyword,
            @Param("pageIndex")Integer pageIndex,
            @Param("pageSize")Integer pageSize,
            @Param("date") String date
    );
//学生端
//PageCountDailyLogs
    public int PageCountDailyLogsByTeacher(@Param("teacher_id")Integer teacher_id, @Param("date")String date);
    //PageCountBusinesstrips
    public int PageCountBusinesstripsByTeacher(@Param("teacher_id")Integer teacher_id, @Param("date")String date);
    //PageCountLeaves
    public int PageCountLeavesByTeacher(@Param("user_id")Integer user_id, @Param("date")String date);
    //PageCountAttendance
    public int PageCountAttendanceByTeacher(@Param("user_id")Integer user_id, @Param("date")String date);
    //日志列表
    public List<Dailylogs> dailyLogsListByTeacher(
            @Param("teacher_id")Integer teacher_id,
            @Param("pageIndex")Integer pageIndex,
            @Param("pageSize")Integer pageSize,
            @Param("date") String date
            );
    //出差列表
    public List<Businesstrips> businesstripsListByTeacher(
            @Param("teacher_id")Integer teacher_id,
            @Param("pageIndex")Integer pageIndex,
            @Param("pageSize")Integer pageSize,
            @Param("date") String date
    );
    //请假列表
    public List<Leaves> leavesListByTeacher(
            @Param("user_id")Integer user_id,
            @Param("pageIndex")Integer pageIndex,
            @Param("pageSize")Integer pageSize,
            @Param("date") String date
    );
    //考勤列表
    public List<Attendance> attendanceListByTeacher(
            @Param("user_id")Integer user_id,
            @Param("pageIndex")Integer pageIndex,
            @Param("pageSize")Integer pageSize,
            @Param("date") String date
    );
    //添加日常
    public int addDailyLogs(Dailylogs dailylogs);
    //添加出差
    public int addBusinesstrips(Businesstrips businesstrips);
    //添加请假
    public int addLeaves(Leaves leaves);
    //添加考勤
    public int addAttendance(Attendance attendance);
}
